package top.fengleifeng.question;

/**
 * @author : fengleifeng
 * @Package top.fengleifeng.question
 * @Description:
 * @date Date : 2020年12月15日 3:49 下午
 */
public class Num738单调递增的数字 {

//    class Solution {
//
//        public int monotoneIncreasingDigits(int N) {
//            int result = 0;
//            String str = String.valueOf(N);
//
//            int length = str.length();
//            if (length <= 1) {
//                return N;
//            }
//            int[] k = new int[length];
//            for (int i = 0; i < length; i++) {
//                k[i] = str.charAt(i) - '0';
//            }
//            for (int i = 0; i < k.length; i++) {
//                if (i == 0) {
//                    if()
//                }
//            }
//
//            return result;
//        }
//    }


    //    class Solution {
//        public int monotoneIncreasingDigits(int N) {
//            char[] arr = (N + "").toCharArray();
//            int max = -1, idx = -1;
//            for (int i = 0; i < arr.length - 1; i++) {
//                if (max < arr[i]) {
//                    max = arr[i];
//                    idx = i;
//                }
//                if (arr[i] > arr[i + 1]) {
//                    arr[idx] -= 1;
//                    for(int j = idx + 1;j < arr.length;j++) {
//                        arr[j] = '9';
//                    }
//                    break;
//                }
//            }
//            return Integer.parseInt(new String(arr));
//        }
//    }
    class Solution {

        public int monotoneIncreasingDigits(int N) {
            char[] i = String.valueOf(N).toCharArray();
            int max = -1;
            int idx = -1;
            for (int j = 0; j < i.length - 1; j++) {
                if (i[j] > max) {
                    max = i[j];
                    idx = j;
                }
                if (i[j] > i[j + 1]) {
                    i[idx] -= 1;
                    idx++;
                    while (idx < i.length) {
                        i[idx] = '9';
                        idx++;
                    }
                    break;
                }

            }
            return Integer.parseInt(new String(i));
        }
    }

    public static void main(String[] args) {
        int i = 2333332;
        int i1 = new Num738单调递增的数字().new Solution().monotoneIncreasingDigits(i);
        System.out.println(i1);
    }
}
